This explores potential numeric cutoff of central signs in the diagnosis of central dysfunction. Data obtained from 07182017 Data Request was utilized for this analysis.
| Age_lbl | N | Percent |
|---|---|---|
| 20 to 24 | 12 | 1.62 |
| 25 to 29 | 61 | 8.21 |
| 30 to 34 | 112 | 15.07 |
| 35 to 39 | 189 | 25.44 |
| 40 to 44 | 230 | 30.96 |
| 45 to 49 | 104 | 14.00 |
| 50 to 54 | 29 | 3.90 |
| 55 to 60 | 6 | 0.81 |
| Gender | N | Percent |
|---|---|---|
| M | 731 | 98.38 |
| F | 12 | 1.62 |
| Service | N | Percent |
|---|---|---|
| Navy | 456 | 61.37 |
| Army | 182 | 24.50 |
| Marines | 60 | 8.08 |
| Air Force | 44 | 5.92 |
| Coast Guard | 1 | 0.13 |
 The details of complaints are listed below. Total number of patients who exhibited each complaint as well as the percentage of patients with said complaint.
| Symptoms | N | Perc |
|---|---|---|
| Dizziness_lightheadedness | 555 | 71.80 |
| Disequilibrium_imbalance | 440 | 56.92 |
| Vertigo_Spinning | 263 | 34.02 |
| Motion_Sensitivity | 220 | 28.46 |
| Syncope_pre_syncope | 185 | 23.93 |
Â
| Total_C | N | CumN | Perc | CumPerc |
|---|---|---|---|---|
| 13 | 1 | 1 | 0.13 | 0.13 |
| 11 | 1 | 2 | 0.13 | 0.26 |
| 9 | 3 | 5 | 0.40 | 0.66 |
| 8 | 4 | 9 | 0.54 | 1.20 |
| 7 | 15 | 24 | 2.02 | 3.22 |
| 6 | 26 | 50 | 3.50 | 6.72 |
| 5 | 55 | 105 | 7.40 | 14.12 |
| 4 | 68 | 173 | 9.15 | 23.27 |
| 3 | 101 | 274 | 13.59 | 36.86 |
| 2 | 152 | 426 | 20.46 | 57.32 |
| 1 | 163 | 589 | 21.94 | 79.26 |
| 0 | 154 | 743 | 20.73 | 99.99 |
 Below outlines the total number of patients with central findings per assessment. The percent is the percentage of patients who exhibited a central sign for that test.
| Test | Sum | Perc |
|---|---|---|
| Oculomotor_Smooth_Pursuit_Vertical | 481 | 62.23 |
| Oculomotor_Smooth_Pursuit_Horizontal | 201 | 26.00 |
| Oculomotor_Saccades_Vertical | 189 | 24.45 |
| VNGTest_DixHallpike_Head_Right | 127 | 16.43 |
| VNGTest_DixHallpike_Head_Left | 121 | 15.65 |
| VNGTest_Roll_Test_Lateral_Left | 119 | 15.39 |
| VNGTest_Roll_Test_Lateral_Right | 106 | 13.71 |
| Oculomotor_Gaze_Right | 79 | 10.22 |
| Oculomotor_Gaze_Left | 79 | 10.22 |
| Oculomotor_Saccades_Horizontal | 75 | 9.70 |
| Oculomotor_Gaze_Up | 44 | 5.69 |
| Oculomotor_Gaze_Center | 31 | 4.01 |
| Oculomotor_Gaze_Down | 29 | 3.75 |
| Oculomotor_Optokinetic | 23 | 2.98 |
| VNGTest_Horizontal_Head_Shake | 20 | 2.59 |
| Oculomotor_Spontaneous_Nystagmus | 18 | 2.33 |
| Positioning_supine_Gaze_up | 7 | 0.91 |
| Positioning_supine_Gaze_Center | 1 | 0.13 |
| VNGTest_Roll_Test_Body_Right | 1 | 0.13 |
 Below are scatterplots which compare the various variables of interest. While it is interesting to see correlations among the variables, which is most significant is how these variables respond to the changes in Total_C (Total Central Signs). From here onward, we will try to use extraneous variables to compare variances within the data.
 Scatterplot displaying relationships among Injury and other demographics against Total_C.
 Below displays the scatterplots of the various surveys against the total number of central signs. Also, should be noted the distribution of the tests within the diagonal.
&nbs; P, Fu, and E come from the DHI subscales - Physical, Funcional, and Emotional.
 We will compare the mean differences of surveys among our sample population with various cutoffs for Central Dysfunction. The values calculated below are ‘Normal Patient Means’ - ‘Central Patient Means’. Dependent upon the survey, a (-) mean difference signifies that Central Patients performed worse on that particular survey.
 Once we have determined the suggested cutoff for our grouping, we will examine the structure of the variables when comparing these two groups. Variance comparisons has been commented out. We’ll first explore other methods of explaining variance.
 Utilizing a regression, we can evaluate which variables contribute most to the variance exhibited within the total number of Central Signs. After scaling the variables, it appears that SOT and NSI explain much of the variance within Total Central signs. Additional exploration will be conducted on these variables, as well as the DHI, ABC and FGA; surveys/questionnaires which hope to provide insight into the varability exhibited in the total number of central signs.
## Stepwise Model Path
## Analysis of Deviance Table
##
## Initial Model:
## Total_C ~ ABC_Tot_Score + NSI_Tot_Score + PCLM_Tot_Score + PHQ9_Tot_Score +
## GAD7_Tot_Score + DHI_Tot_Score + FGA + SOT + LOC + AOC +
## PTA + TimeInService + symp_tot
##
## Final Model:
## Total_C ~ NSI_Tot_Score + SOT + LOC
##
##
## Step Df Deviance Resid. Df Resid. Dev AIC
## 1 416 1660.911 609.0745
## 2 - FGA 1 0.02056280 417 1660.931 607.0799
## 3 - PHQ9_Tot_Score 1 0.04407690 418 1660.975 605.0913
## 4 - TimeInService 1 0.05785070 419 1661.033 603.1063
## 5 - symp_tot 1 0.12849741 420 1661.162 601.1395
## 6 - DHI_Tot_Score 1 0.09796185 421 1661.260 599.1649
## 7 - PTA 1 0.23689418 422 1661.497 597.2262
## 8 - GAD7_Tot_Score 1 0.21278788 423 1661.709 595.2813
## 9 - AOC 1 1.30399859 424 1663.013 593.6186
## 10 - ABC_Tot_Score 1 2.48008364 425 1665.493 592.2593
## 11 - PCLM_Tot_Score 1 3.05270838 426 1668.546 591.0468
## ABC_Tot_Score NSI_Tot_Score PCLM_Tot_Score PHQ9_Tot_Score GAD7_Tot_Score
## 0.022645624 0.232795310 0.043104926 0.045133686 0.033239361
## DHI_Tot_Score FGA SOT LOC AOC
## 0.046782165 0.036470915 0.306744857 0.153372132 0.034368683
## PTA TimeInService symp_tot
## 0.002708148 0.001791970 0.040842222
## Stepwise Model Path
## Analysis of Deviance Table
##
## Initial Model:
## Total_C ~ NSI_Q1 + NSI_Q2 + NSI_Q3 + NSI_Q4 + NSI_Q5 + NSI_Q6 +
## P + Fu + E + ABC_Tot_Score + FGA + SOT + LOC + AOC + PTA +
## TimeInService + symp_tot
##
## Final Model:
## Total_C ~ NSI_Q2 + NSI_Q4 + SOT + LOC
##
##
## Step Df Deviance Resid. Df Resid. Dev AIC
## 1 412 399.1904 4.030907
## 2 - P 1 0.05410681 413 399.2445 2.089186
## 3 - TimeInService 1 0.08165149 414 399.3262 0.177118
## 4 - ABC_Tot_Score 1 0.08575610 415 399.4119 -1.730549
## 5 - NSI_Q1 1 0.13433482 416 399.5462 -3.585950
## 6 - PTA 1 0.27589665 417 399.8221 -5.289127
## 7 - FGA 1 0.31264513 418 400.1348 -6.953015
## 8 - symp_tot 1 0.38134908 419 400.5161 -8.543398
## 9 - NSI_Q5 1 0.55109214 420 401.0672 -9.952145
## 10 - AOC 1 0.55738117 421 401.6246 -11.354969
## 11 - E 1 0.89831771 422 402.5229 -12.394258
## 12 - Fu 1 0.38645614 423 402.9094 -13.981619
## 13 - NSI_Q6 1 1.09987429 424 404.0093 -14.809392
## 14 - NSI_Q3 1 1.47928453 425 405.4885 -15.237817
## NSI_Q1 NSI_Q2 NSI_Q3 NSI_Q4 NSI_Q5
## 0.029044018 0.082923666 0.042073188 0.245128121 0.050620196
## NSI_Q6 P Fu E ABC_Tot_Score
## 0.031735956 0.017132884 0.043260183 0.026079898 0.008534806
## FGA SOT LOC AOC PTA
## 0.034753345 0.225801709 0.105449562 0.022912928 0.003382363
## TimeInService symp_tot
## 0.002316847 0.028850331
 As shown in the previous tab, SOT, LOC, and NSI might explain some of the variance noticed within the Total C variable. We will reverse the analysis and look at the various groupings of Total C and compare their responses to these variables. Suggestive cutoff point would utilize 4 Total Central signs. Given the predictor variables: NSI Total Score (NSI Q2, NSI Q3), LOC, and SOT.
aov_data<-dhi%>%
select('NSI_Q1','NSI_Q2','NSI_Q3','NSI_Q4','NSI_Q5','P','Fu','E','Total_C','NSI_Q6','ABC_Tot_Score','NSI_Tot_Score','PCLM_Tot_Score','PHQ9_Tot_Score','GAD7_Tot_Score','DHI_Tot_Score','FGA','SOT','LOC','AOC','PTA','TimeInService','symp_tot','Total_C','Age','Age_lbl')%>%
filter(complete.cases(.))
auc<-NULL
for (i in 1:9){
Cutoff<-paste0(quo_name(i),"")
aov_data$I<-ifelse(aov_data$Total_C>=i,1,0)
logic_fit<-glm(I~ABC_Tot_Score+NSI_Tot_Score+PCLM_Tot_Score+PHQ9_Tot_Score+GAD7_Tot_Score+DHI_Tot_Score+FGA+SOT+LOC+AOC+PTA+TimeInService+symp_tot,data=aov_data,family="binomial")
prob<-predict(logic_fit,type=c("response"))
aov_data$prob=prob
g<-pROC::roc(I~prob,data=aov_data)
#plot(g)
a<-cbind(Cutoff,round(g$auc,4))
auc<-rbind(auc,a)
}
#Full Model
print(auc)## Cutoff
## [1,] "1" "0.6642"
## [2,] "2" "0.6328"
## [3,] "3" "0.6322"
## [4,] "4" "0.648"
## [5,] "5" "0.6255"
## [6,] "6" "0.6504"
## [7,] "7" "0.7122"
## [8,] "8" "0.9557"
## [9,] "9" "0.9562"
auc<-NULL
for (i in 1:9){
Cutoff<-paste0(quo_name(i),"")
aov_data$I<-ifelse(aov_data$Total_C>=i,1,0)
logic_fit<-glm(I~SOT+NSI_Tot_Score+LOC,data=aov_data,family="binomial")
prob<-predict(logic_fit,type=c("response"))
aov_data$prob=prob
g<-pROC::roc(I~prob,data=aov_data)
#plot(g)
a<-cbind(Cutoff,round(g$auc,4))
auc<-rbind(auc,a)
}
#Model:TOTAL_CENTRAL~SOT+NSI_Tot_Score+LOC
print(auc)## Cutoff
## [1,] "1" "0.6248"
## [2,] "2" "0.626"
## [3,] "3" "0.6001"
## [4,] "4" "0.6273"
## [5,] "5" "0.6161"
## [6,] "6" "0.6248"
## [7,] "7" "0.6834"
## [8,] "8" "0.7387"
## [9,] "9" "0.7535"
auc<-NULL
for (i in 1:9){
Cutoff<-paste0(quo_name(i),"")
aov_data$I<-ifelse(aov_data$Total_C>=i,1,0)
logic_fit<-glm(I~SOT+NSI_Q2+NSI_Q4+LOC,data=aov_data,family="binomial")
prob<-predict(logic_fit,type=c("response"))
aov_data$prob=prob
g<-pROC::roc(I~prob,data=aov_data)
#plot(g)
a<-cbind(Cutoff,round(g$auc,4))
auc<-rbind(auc,a)
}
#Model:TOTAL_CENTRAL~SOT+NSI_Q2+NSI_Q4+LOC
print(auc)## Cutoff
## [1,] "1" "0.6342"
## [2,] "2" "0.6483"
## [3,] "3" "0.6076"
## [4,] "4" "0.6486"
## [5,] "5" "0.6361"
## [6,] "6" "0.6453"
## [7,] "7" "0.7123"
## [8,] "8" "0.7509"
## [9,] "9" "0.7692"
 We will now compare variable response between the various cutoffs of Central Dysfunction. P-values are provided which result from the MANOVA testing.
aov_list<-NULL
for (i in 1:9){
aov_data$I<-ifelse(aov_data$Total_C>=i,"1","0")
name<-paste0(quo_name(i),"")
i<-round(summary(manova(cbind(ABC_Tot_Score,NSI_Tot_Score,PCLM_Tot_Score,PHQ9_Tot_Score,GAD7_Tot_Score,DHI_Tot_Score,FGA,SOT,LOC,AOC,PTA,symp_tot)~I,data=aov_data))$stats[11],5)
test<-cbind(name,i)
aov_list<-rbind(aov_list,test)}
#Model: ABC_Tot_Score,NSI_Tot_Score,PCLM_Tot_Score,PHQ9_Tot_Score,GAD7_Tot_Score,DHI_Tot_Score,FGA,SOT,LOC,AOC,PTA,symp_tot~TOTAL_CENTRAL
print(aov_list) ## name i
## [1,] "1" "0.15953"
## [2,] "2" "0.06346"
## [3,] "3" "0.07946"
## [4,] "4" "0.07251"
## [5,] "5" "0.704"
## [6,] "6" "0.80288"
## [7,] "7" "0.59811"
## [8,] "8" "0.01507"
## [9,] "9" "0.00187"
#
# for (i in 1:9){
# aov_data$I<-ifelse(aov_data$Total_C>=i,"1","0")
# name<-paste0(quo_name(i),"")
# i<-summary(manova(cbind(ABC_Tot_Score,NSI_Tot_Score,PCLM_Tot_Score,PHQ9_Tot_Score,GAD7_Tot_Score,DHI_Tot_Score,FGA,SOT,LOC,AOC,PTA,symp_tot)~I+Age,data=aov_data))
# print(i)
# }
aov_list<-NULL
for (i in 1:9) {
aov_data$I<-ifelse(aov_data$Total_C>=i,"1","0")
name<-paste0(quo_name(i),"")
i<-round(summary(manova(cbind(NSI_Tot_Score,SOT,LOC)~I,data=aov_data))$stats[11],5)
test<-cbind(name,i)
aov_list<-rbind(aov_list,test) }
#Model: NSI_Tot_Score+SOT+LOC~TOTAL_CENTRAL
print(aov_list) ## name i
## [1,] "1" "0.01794"
## [2,] "2" "0.00195"
## [3,] "3" "0.00531"
## [4,] "4" "0.00183"
## [5,] "5" "0.1332"
## [6,] "6" "0.15853"
## [7,] "7" "0.09409"
## [8,] "8" "0.0271"
## [9,] "9" "0.00982"
aov_list<-NULL
for (i in 1:9) {
aov_data$I<-ifelse(aov_data$Total_C>=i,"1","0")
name<-paste0(quo_name(i),"")
i<-round(summary(manova(cbind(NSI_Q2,NSI_Q4,SOT,LOC)~I,data=aov_data))$stats[11],5)
test<-cbind(name,i)
aov_list<-rbind(aov_list,test) }
#Model: NSI_Q2+NSI_Q4+SOT+LOC~TOTAL_CENTRAL
print(aov_list) ## name i
## [1,] "1" "0.01578"
## [2,] "2" "0.00028"
## [3,] "3" "0.00765"
## [4,] "4" "5e-04"
## [5,] "5" "0.01306"
## [6,] "6" "0.07586"
## [7,] "7" "0.16165"
## [8,] "8" "0.01618"
## [9,] "9" "0.01105"
 We will explore the population make ups utilizing 2:5 central cutoffs. We will compare their mean responses on our dataset.
dhi$I<-ifelse(dhi$Total_C>=1,"1","0")
vestib<-dhi[,c(2:34,204)]
scores<-dhi[,c(37,38,66,81,85:90,107,142,161,70,201:204)]
dem<-dhi[,c(39:46,162:169,170,204)]
dm<-dem%>%
filter(!is.na(I))%>%
select(-c(Gender,Service,Special_stat,TypeParticipant,Motion_Sensitivity_Present:Syncope_pre_syncope_Present,Age_lbl))%>%
group_by(I)%>%
summarise_all(means)
kable(dm)| I | LOC | AOC | PTA | Age | TimeInService | symp_tot | med_ct |
|---|---|---|---|---|---|---|---|
| 0 | 1.275862 | 2.150685 | 0.3241379 | 37.91558 | 17.55357 | 1.388889 | 0.3831169 |
| 1 | 1.335727 | 2.434783 | 0.3050542 | 39.09338 | 18.29219 | 1.629091 | 0.6808149 |
ss<-scores%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(means)
kable(ss)| I | SOT | FGA | ABC_Tot_Score | GAD7_Tot_Score | NSI_Q1 | NSI_Q2 | NSI_Q3 | NSI_Q4 | NSI_Q5 | NSI_Q6 | NSI_Tot_Score | PCLM_Tot_Score | PHQ9_Tot_Score | DHI_Tot_Score | P | Fu | E |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 84.23077 | 28.61240 | 86.40487 | 9.646018 | 0.8881579 | 0.8421053 | 0.8486842 | 1.684211 | 0.3377483 | 1.079470 | 31.48026 | 43.94040 | 9.66000 | 11.36913 | 4.517857 | 3.238938 | 3.646018 |
| 1 | 82.37575 | 27.55556 | 86.31502 | 10.857750 | 1.0963855 | 0.9948454 | 1.0706897 | 2.012007 | 0.5955250 | 1.343643 | 37.17496 | 46.84247 | 11.53108 | 18.76256 | 6.258873 | 5.462500 | 5.766667 |
colnames(vestib)<-sub("Vestibular_Oculomotor_","",colnames(vestib))
colnames(vestib)<-sub("Vestibular_Positioning_","",colnames(vestib))
colnames(vestib)<-sub("_Abnormal","",colnames(vestib))
vt<-vestib%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(funs(sum(.=="C",na.rm=TRUE)))
vt<-melt(vt)
vt$value<-as.numeric(vt$value)
o<-sum(dhi$I=="0")
i<-sum(dhi$I=="1")
vt$Mean<-ifelse(vt$I=="1",round(vt$value/i*100,3),round(vt$value/o*100,3))
vt<-vt%>%filter(!value==0)%>%arrange(-Mean)
kable(vt[,-1])| variable | value | Mean |
|---|---|---|
| Smooth_Pursuit_Vertical | 481 | 81.664 |
| Smooth_Pursuit_Horizontal | 201 | 34.126 |
| Saccades_Vertical | 189 | 32.088 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 127 | 21.562 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 121 | 20.543 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 119 | 20.204 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 106 | 17.997 |
| Gaze_Right | 79 | 13.413 |
| Gaze_Left | 79 | 13.413 |
| Saccades_Horizontal | 75 | 12.733 |
| GazeRL | 75 | 12.733 |
| Gaze_Up | 44 | 7.470 |
| Spon_Gaze | 34 | 5.772 |
| Gaze_Center | 31 | 5.263 |
| Gaze_Down | 29 | 4.924 |
| Optokinetic | 23 | 3.905 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 20 | 3.396 |
| Spontaneous_Nystagmus | 18 | 3.056 |
| supine_Gaze_up | 7 | 1.188 |
| GazeR | 4 | 0.679 |
| GazeL | 4 | 0.679 |
| supine_Gaze_Center | 1 | 0.170 |
| Vestibular_VNGTest_Roll_Test_Body_Right | 1 | 0.170 |
mnv<-manova(cbind(SOT,FGA, ABC_Tot_Score,DHI_Tot_Score,GAD7_Tot_Score, NSI_Tot_Score,NSI_Q2, NSI_Q3, NSI_Q4,NSI_Q5,NSI_Q6, PCLM_Tot_Score, PHQ9_Tot_Score, P, Fu)~I,data=scores)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.047007 1.4436 15 439 0.1231
## Residuals 453
summary.aov(mnv)## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 163.8 163.757 5.3948 0.02064 *
## Residuals 453 13750.6 30.355
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response FGA :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 46.88 46.883 12.993 0.0003473 ***
## Residuals 453 1634.52 3.608
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response ABC_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 652 651.70 2.2953 0.1305
## Residuals 453 128619 283.93
##
## Response DHI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 3729 3728.8 9.5296 0.002146 **
## Residuals 453 177250 391.3
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response GAD7_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 116.4 116.431 3.4639 0.06337 .
## Residuals 453 15226.7 33.613
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2461 2461.4 9.5776 0.002092 **
## Residuals 453 116421 257.0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.68 2.67766 3.7969 0.05197 .
## Residuals 453 319.47 0.70523
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 4.47 4.4699 5.5115 0.01932 *
## Residuals 453 367.39 0.8110
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 10.53 10.5289 8.6913 0.003363 **
## Residuals 453 548.78 1.2114
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q5 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 4.026 4.0259 6.0046 0.01465 *
## Residuals 453 303.724 0.6705
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q6 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 4.52 4.5182 4.2963 0.03876 *
## Residuals 453 476.40 1.0516
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response PCLM_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1617 1616.88 5.8697 0.0158 *
## Residuals 453 124785 275.46
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response PHQ9_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 202.9 202.935 5.4201 0.02035 *
## Residuals 453 16960.7 37.441
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response P :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 321.2 321.22 8.8425 0.0031 **
## Residuals 453 16456.0 36.33
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response Fu :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 489.7 489.66 8.8624 0.003067 **
## Residuals 453 25028.6 55.25
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## 288 observations deleted due to missingness
mnv<-manova(cbind(NSI_Q2,NSI_Q4,SOT,LOC)~I,data=dhi)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.032944 5.0843 4 597 0.0004922 ***
## Residuals 600
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary.aov(mnv)## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.88 2.88220 3.6225 0.05748 .
## Residuals 600 477.39 0.79564
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 17.86 17.857 13.939 0.0002068 ***
## Residuals 600 768.63 1.281
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 391.2 391.15 9.7708 0.001859 **
## Residuals 600 24019.6 40.03
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response LOC :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.03 0.03248 0.018 0.8933
## Residuals 600 1082.97 1.80495
##
## 141 observations deleted due to missingness
dhi$I<-ifelse(dhi$Total_C>=2,"1","0")
vestib<-dhi[,c(2:34,204)]
scores<-dhi[,c(37,38,66,81,85:90,107,142,161,70,201:204)]
dem<-dhi[,c(39:46,162:169,170,204)]
dm<-dem%>%
filter(!is.na(I))%>%
select(-c(Gender,Service,Special_stat,TypeParticipant,Motion_Sensitivity_Present:Syncope_pre_syncope_Present,Age_lbl))%>%
group_by(I)%>%
summarise_all(means)
kable(dm)| I | LOC | AOC | PTA | Age | TimeInService | symp_tot | med_ct |
|---|---|---|---|---|---|---|---|
| 0 | 1.232082 | 2.325424 | 0.3071672 | 38.44795 | 17.86199 | 1.426117 | 0.4668770 |
| 1 | 1.388753 | 2.411911 | 0.3103448 | 39.14789 | 18.34531 | 1.689826 | 0.7323944 |
ss<-scores%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(means)
kable(ss)| I | SOT | FGA | ABC_Tot_Score | GAD7_Tot_Score | NSI_Q1 | NSI_Q2 | NSI_Q3 | NSI_Q4 | NSI_Q5 | NSI_Q6 | NSI_Tot_Score | PCLM_Tot_Score | PHQ9_Tot_Score | DHI_Tot_Score | P | Fu | E |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 84.18113 | 28.36538 | 87.24537 | 10.04938 | 0.9070513 | 0.8878205 | 0.9038462 | 1.753994 | 0.4102564 | 1.214744 | 33.36741 | 44.78526 | 10.32237 | 13.15686 | 4.987654 | 3.804082 | 4.269388 |
| 1 | 81.73098 | 27.34648 | 85.68182 | 11.03226 | 1.1615202 | 1.0189573 | 1.1142857 | 2.085308 | 0.6404762 | 1.344418 | 37.94787 | 47.32388 | 11.74328 | 20.22381 | 6.586207 | 5.908046 | 6.132184 |
colnames(vestib)<-sub("Vestibular_Oculomotor_","",colnames(vestib))
colnames(vestib)<-sub("Vestibular_Positioning_","",colnames(vestib))
colnames(vestib)<-sub("_Abnormal","",colnames(vestib))
vt<-vestib%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(funs(sum(.=="C",na.rm=TRUE)))
vt<-melt(vt)
vt$value<-as.numeric(vt$value)
o<-sum(dhi$I=="0")
i<-sum(dhi$I=="1")
vt$Mean<-ifelse(vt$I=="1",round(vt$value/i*100,3),round(vt$value/o*100,3))
vt<-vt%>%filter(!value==0)%>%arrange(-Mean)
kable(vt[,-1])| variable | value | Mean |
|---|---|---|
| Smooth_Pursuit_Vertical | 355 | 83.333 |
| Smooth_Pursuit_Horizontal | 194 | 45.540 |
| Saccades_Vertical | 182 | 42.723 |
| Smooth_Pursuit_Vertical | 126 | 39.748 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 122 | 28.638 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 119 | 27.934 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 116 | 27.230 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 105 | 24.648 |
| Gaze_Right | 75 | 17.606 |
| Gaze_Left | 75 | 17.606 |
| Saccades_Horizontal | 73 | 17.136 |
| GazeRL | 71 | 16.667 |
| Gaze_Up | 42 | 9.859 |
| Spon_Gaze | 34 | 7.981 |
| Gaze_Center | 31 | 7.277 |
| Gaze_Down | 29 | 6.808 |
| Optokinetic | 23 | 5.399 |
| Spontaneous_Nystagmus | 18 | 4.225 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 17 | 3.991 |
| Smooth_Pursuit_Horizontal | 7 | 2.208 |
| Saccades_Vertical | 7 | 2.208 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 5 | 1.577 |
| supine_Gaze_up | 6 | 1.408 |
| Gaze_Right | 4 | 1.262 |
| Gaze_Left | 4 | 1.262 |
| GazeRL | 4 | 1.262 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 3 | 0.946 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 3 | 0.946 |
| GazeR | 4 | 0.939 |
| GazeL | 4 | 0.939 |
| Saccades_Horizontal | 2 | 0.631 |
| Gaze_Up | 2 | 0.631 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 2 | 0.631 |
| supine_Gaze_up | 1 | 0.315 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 1 | 0.315 |
| supine_Gaze_Center | 1 | 0.235 |
| Vestibular_VNGTest_Roll_Test_Body_Right | 1 | 0.235 |
mnv<-manova(cbind(SOT,FGA, ABC_Tot_Score,DHI_Tot_Score,GAD7_Tot_Score, NSI_Tot_Score,NSI_Q2, NSI_Q3, NSI_Q4,NSI_Q5,NSI_Q6, PCLM_Tot_Score, PHQ9_Tot_Score, P, Fu)~I,data=scores)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.060129 1.8723 15 439 0.02405 *
## Residuals 453
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary.aov(mnv)## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 299 298.972 9.9471 0.001718 **
## Residuals 453 13615 30.056
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response FGA :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 37.86 37.858 10.435 0.001327 **
## Residuals 453 1643.54 3.628
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response ABC_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 355 355.27 1.2484 0.2645
## Residuals 453 128915 284.58
##
## Response DHI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2682 2682.30 6.8149 0.009339 **
## Residuals 453 178297 393.59
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response GAD7_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 92.4 92.364 2.7435 0.09834 .
## Residuals 453 15250.8 33.666
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2024 2024.04 7.8461 0.005311 **
## Residuals 453 116858 257.97
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1.62 1.61626 2.2842 0.1314
## Residuals 453 320.53 0.70757
##
## Response NSI_Q3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 3.86 3.8570 4.7478 0.02985 *
## Residuals 453 368.00 0.8124
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 13.23 13.2308 10.976 0.0009971 ***
## Residuals 453 546.07 1.2055
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q5 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.86 2.86037 4.2499 0.03982 *
## Residuals 453 304.89 0.67304
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q6 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.42 0.42491 0.4006 0.5271
## Residuals 453 480.49 1.06068
##
## Response PCLM_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1272 1272.36 4.6062 0.03239 *
## Residuals 453 125130 276.22
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response PHQ9_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 152.7 152.747 4.0676 0.0443 *
## Residuals 453 17010.9 37.552
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response P :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 251.3 251.330 6.8893 0.008964 **
## Residuals 453 16525.9 36.481
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response Fu :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 374.9 374.94 6.7552 0.009653 **
## Residuals 453 25143.3 55.50
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## 288 observations deleted due to missingness
mnv<-manova(cbind(NSI_Q2,NSI_Q4,SOT,LOC)~I,data=dhi)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.057965 9.1835 4 597 3.323e-07 ***
## Residuals 600
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary.aov(mnv)## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.04 2.04246 2.5626 0.1099
## Residuals 600 478.22 0.79704
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 22.93 22.9312 18.019 2.533e-05 ***
## Residuals 600 763.55 1.2726
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 838.6 838.55 21.344 4.7e-06 ***
## Residuals 600 23572.2 39.29
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response LOC :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1.35 1.3465 0.7469 0.3878
## Residuals 600 1081.66 1.8028
##
## 141 observations deleted due to missingness
dhi$I<-ifelse(dhi$Total_C>=3,"1","0")
vestib<-dhi[,c(2:34,204)]
scores<-dhi[,c(37,38,66,81,85:90,107,142,161,70,201:204)]
dem<-dhi[,c(39:46,162:169,170,204)]
dm<-dem%>%
filter(!is.na(I))%>%
select(-c(Gender,Service,Special_stat,TypeParticipant,Motion_Sensitivity_Present:Syncope_pre_syncope_Present,Age_lbl))%>%
group_by(I)%>%
summarise_all(means)
kable(dm)| I | LOC | AOC | PTA | Age | TimeInService | symp_tot | med_ct |
|---|---|---|---|---|---|---|---|
| 0 | 1.259091 | 2.365079 | 0.2961276 | 38.84648 | 18.07644 | 1.489702 | 0.5458422 |
| 1 | 1.431298 | 2.392996 | 0.3307692 | 38.85401 | 18.24635 | 1.731518 | 0.7445255 |
ss<-scores%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(means)
kable(ss)| I | SOT | FGA | ABC_Tot_Score | GAD7_Tot_Score | NSI_Q1 | NSI_Q2 | NSI_Q3 | NSI_Q4 | NSI_Q5 | NSI_Q6 | NSI_Tot_Score | PCLM_Tot_Score | PHQ9_Tot_Score | DHI_Tot_Score | P | Fu | E |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 83.22959 | 28.01837 | 86.92240 | 10.33708 | 0.969697 | 0.9134199 | 0.9392625 | 1.835853 | 0.4826840 | 1.236443 | 34.19006 | 45.39741 | 10.70601 | 15.12473 | 5.582173 | 4.509695 | 4.886427 |
| 1 | 81.98755 | 27.38462 | 85.41118 | 11.07018 | 1.195572 | 1.0477941 | 1.1697417 | 2.128677 | 0.6444444 | 1.378677 | 39.07353 | 47.69118 | 11.87121 | 20.84758 | 6.465517 | 5.862069 | 6.103448 |
colnames(vestib)<-sub("Vestibular_Oculomotor_","",colnames(vestib))
colnames(vestib)<-sub("Vestibular_Positioning_","",colnames(vestib))
colnames(vestib)<-sub("_Abnormal","",colnames(vestib))
vt<-vestib%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(funs(sum(.=="C",na.rm=TRUE)))
vt<-melt(vt)
vt$value<-as.numeric(vt$value)
o<-sum(dhi$I=="0")
i<-sum(dhi$I=="1")
vt$Mean<-ifelse(vt$I=="1",round(vt$value/i*100,3),round(vt$value/o*100,3))
vt<-vt%>%filter(!value==0)%>%arrange(-Mean)
kable(vt[,-1])| variable | value | Mean |
|---|---|---|
| Smooth_Pursuit_Vertical | 238 | 86.861 |
| Saccades_Vertical | 142 | 51.825 |
| Smooth_Pursuit_Vertical | 243 | 51.812 |
| Smooth_Pursuit_Horizontal | 135 | 49.270 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 108 | 39.416 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 106 | 38.686 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 104 | 37.956 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 97 | 35.401 |
| Saccades_Horizontal | 62 | 22.628 |
| Gaze_Right | 61 | 22.263 |
| Gaze_Left | 61 | 22.263 |
| GazeRL | 57 | 20.803 |
| Gaze_Up | 41 | 14.964 |
| Smooth_Pursuit_Horizontal | 66 | 14.072 |
| Spon_Gaze | 31 | 11.314 |
| Gaze_Center | 30 | 10.949 |
| Saccades_Vertical | 47 | 10.021 |
| Gaze_Down | 27 | 9.854 |
| Optokinetic | 18 | 6.569 |
| Spontaneous_Nystagmus | 16 | 5.839 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 12 | 4.380 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 19 | 4.051 |
| Gaze_Right | 18 | 3.838 |
| Gaze_Left | 18 | 3.838 |
| GazeRL | 18 | 3.838 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 17 | 3.625 |
| Saccades_Horizontal | 13 | 2.772 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 13 | 2.772 |
| supine_Gaze_up | 6 | 2.190 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 9 | 1.919 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 8 | 1.706 |
| GazeR | 4 | 1.460 |
| GazeL | 4 | 1.460 |
| Optokinetic | 5 | 1.066 |
| Gaze_Up | 3 | 0.640 |
| Spon_Gaze | 3 | 0.640 |
| Spontaneous_Nystagmus | 2 | 0.426 |
| Gaze_Down | 2 | 0.426 |
| supine_Gaze_Center | 1 | 0.365 |
| Vestibular_VNGTest_Roll_Test_Body_Right | 1 | 0.365 |
| Gaze_Center | 1 | 0.213 |
| supine_Gaze_up | 1 | 0.213 |
mnv<-manova(cbind(SOT,FGA, ABC_Tot_Score,DHI_Tot_Score,GAD7_Tot_Score, NSI_Tot_Score,NSI_Q2, NSI_Q3, NSI_Q4,NSI_Q5,NSI_Q6, PCLM_Tot_Score, PHQ9_Tot_Score, P, Fu)~I,data=scores)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.042293 1.2924 15 439 0.2026
## Residuals 453
summary.aov(mnv)## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 41.4 41.357 1.3505 0.2458
## Residuals 453 13873.0 30.625
##
## Response FGA :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 8.7 8.7049 2.3575 0.1254
## Residuals 453 1672.7 3.6925
##
## Response ABC_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 600 599.70 2.1113 0.1469
## Residuals 453 128671 284.04
##
## Response DHI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 763 762.66 1.9171 0.1669
## Residuals 453 180216 397.83
##
## Response GAD7_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 37.9 37.867 1.1208 0.2903
## Residuals 453 15305.3 33.787
##
## Response NSI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2294 2294.09 8.9136 0.002984 **
## Residuals 453 116588 257.37
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1.09 1.08669 1.5333 0.2163
## Residuals 453 321.06 0.70874
##
## Response NSI_Q3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.71 2.7098 3.3253 0.06888 .
## Residuals 453 369.15 0.8149
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 10.30 10.2995 8.4984 0.003731 **
## Residuals 453 549.01 1.2119
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q5 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 3.548 3.5479 5.2833 0.02198 *
## Residuals 453 304.202 0.6715
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q6 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.62 2.6240 2.4853 0.1156
## Residuals 453 478.29 1.0558
##
## Response PCLM_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 515 514.51 1.8514 0.1743
## Residuals 453 125888 277.90
##
## Response PHQ9_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 53 53.040 1.4042 0.2366
## Residuals 453 17111 37.772
##
## Response P :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 91.7 91.691 2.4893 0.1153
## Residuals 453 16685.5 36.833
##
## Response Fu :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 115.4 115.358 2.0571 0.1522
## Residuals 453 25402.9 56.077
##
## 288 observations deleted due to missingness
mnv<-manova(cbind(NSI_Q2,NSI_Q4,SOT,LOC)~I,data=dhi)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.029418 4.5237 4 597 0.001317 **
## Residuals 600
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary.aov(mnv)## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.54 2.54113 3.1915 0.07453 .
## Residuals 600 477.73 0.79621
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 15.24 15.2380 11.854 0.0006153 ***
## Residuals 600 771.25 1.2854
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 216.7 216.679 5.3735 0.02078 *
## Residuals 600 24194.0 40.323
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response LOC :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 6.14 6.1402 3.4212 0.06486 .
## Residuals 600 1076.86 1.7948
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## 141 observations deleted due to missingness
dhi$I<-ifelse(dhi$Total_C>=4,"1","0")
vestib<-dhi[,c(2:34,204)]
scores<-dhi[,c(37,38,66,81,85:90,107,142,161,70,201:204)]
dem<-dhi[,c(39:46,162:169,170,204)]
dm<-dem%>%
filter(!is.na(I))%>%
select(-c(Gender,Service,Special_stat,TypeParticipant,Motion_Sensitivity_Present:Syncope_pre_syncope_Present,Age_lbl))%>%
group_by(I)%>%
summarise_all(means)
kable(dm)| I | LOC | AOC | PTA | Age | TimeInService | symp_tot | med_ct |
|---|---|---|---|---|---|---|---|
| 0 | 1.270522 | 2.368224 | 0.3158879 | 38.78070 | 18.06553 | 1.538606 | 0.5631579 |
| 1 | 1.493976 | 2.398773 | 0.2865854 | 39.07514 | 18.38150 | 1.711656 | 0.8034682 |
ss<-scores%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(means)
kable(ss)| I | SOT | FGA | ABC_Tot_Score | GAD7_Tot_Score | NSI_Q1 | NSI_Q2 | NSI_Q3 | NSI_Q4 | NSI_Q5 | NSI_Q6 | NSI_Tot_Score | PCLM_Tot_Score | PHQ9_Tot_Score | DHI_Tot_Score | P | Fu | E |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 83.08524 | 27.91006 | 86.81935 | 10.39498 | 1.005329 | 0.9431616 | 0.9839858 | 1.877660 | 0.5186501 | 1.272242 | 34.87943 | 45.52837 | 10.80403 | 15.88829 | 5.796840 | 4.606742 | 4.943820 |
| 1 | 81.71711 | 27.35811 | 84.87158 | 11.30822 | 1.211765 | 1.0292398 | 1.1588235 | 2.163743 | 0.6213018 | 1.345029 | 39.68421 | 48.61404 | 12.22754 | 21.64912 | 6.324324 | 6.337838 | 6.621622 |
colnames(vestib)<-sub("Vestibular_Oculomotor_","",colnames(vestib))
colnames(vestib)<-sub("Vestibular_Positioning_","",colnames(vestib))
colnames(vestib)<-sub("_Abnormal","",colnames(vestib))
vt<-vestib%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(funs(sum(.=="C",na.rm=TRUE)))
vt<-melt(vt)
vt$value<-as.numeric(vt$value)
o<-sum(dhi$I=="0")
i<-sum(dhi$I=="1")
vt$Mean<-ifelse(vt$I=="1",round(vt$value/i*100,3),round(vt$value/o*100,3))
vt<-vt%>%filter(!value==0)%>%arrange(-Mean)
kable(vt[,-1])| variable | value | Mean |
|---|---|---|
| Smooth_Pursuit_Vertical | 152 | 87.861 |
| Smooth_Pursuit_Vertical | 329 | 57.719 |
| Smooth_Pursuit_Horizontal | 94 | 54.335 |
| Saccades_Vertical | 91 | 52.601 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 89 | 51.445 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 85 | 49.133 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 82 | 47.399 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 80 | 46.243 |
| Gaze_Right | 48 | 27.746 |
| Gaze_Left | 48 | 27.746 |
| Saccades_Horizontal | 47 | 27.168 |
| GazeRL | 44 | 25.434 |
| Gaze_Up | 37 | 21.387 |
| Smooth_Pursuit_Horizontal | 107 | 18.772 |
| Spon_Gaze | 30 | 17.341 |
| Saccades_Vertical | 98 | 17.193 |
| Gaze_Center | 29 | 16.763 |
| Gaze_Down | 25 | 14.451 |
| Spontaneous_Nystagmus | 15 | 8.671 |
| Optokinetic | 15 | 8.671 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 42 | 7.368 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 41 | 7.193 |
| Gaze_Right | 31 | 5.439 |
| Gaze_Left | 31 | 5.439 |
| GazeRL | 31 | 5.439 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 30 | 5.263 |
| Saccades_Horizontal | 28 | 4.912 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 24 | 4.211 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 7 | 4.046 |
| supine_Gaze_up | 4 | 2.312 |
| GazeR | 4 | 2.312 |
| GazeL | 4 | 2.312 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 13 | 2.281 |
| Optokinetic | 8 | 1.404 |
| Gaze_Up | 7 | 1.228 |
| Gaze_Down | 4 | 0.702 |
| Spon_Gaze | 4 | 0.702 |
| supine_Gaze_Center | 1 | 0.578 |
| Spontaneous_Nystagmus | 3 | 0.526 |
| supine_Gaze_up | 3 | 0.526 |
| Gaze_Center | 2 | 0.351 |
| Vestibular_VNGTest_Roll_Test_Body_Right | 1 | 0.175 |
mnv<-manova(cbind(SOT,FGA, ABC_Tot_Score,DHI_Tot_Score,GAD7_Tot_Score, NSI_Tot_Score,NSI_Q2, NSI_Q3, NSI_Q4,NSI_Q5,NSI_Q6, PCLM_Tot_Score, PHQ9_Tot_Score, P, Fu)~I,data=scores)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.048818 1.5021 15 439 0.1003
## Residuals 453
summary.aov(mnv)## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 79.1 79.053 2.5884 0.1083
## Residuals 453 13835.3 30.541
##
## Response FGA :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 7.15 7.1525 1.9352 0.1649
## Residuals 453 1674.25 3.6959
##
## Response ABC_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 883 883.22 3.1163 0.07818 .
## Residuals 453 128387 283.42
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response DHI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1598 1597.93 4.0353 0.04515 *
## Residuals 453 179381 395.98
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response GAD7_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 78.4 78.427 2.3274 0.1278
## Residuals 453 15264.7 33.697
##
## Response NSI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2107 2106.86 8.173 0.004448 **
## Residuals 453 116776 257.78
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.97 0.96613 1.3627 0.2437
## Residuals 453 321.18 0.70900
##
## Response NSI_Q3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 3.34 3.3359 4.1005 0.04346 *
## Residuals 453 368.52 0.8135
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 13.78 13.7850 11.447 0.0007783 ***
## Residuals 453 545.52 1.2042
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q5 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 2.619 2.61914 3.8884 0.04923 *
## Residuals 453 305.130 0.67358
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q6 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.37 0.36618 0.3452 0.5571
## Residuals 453 480.55 1.06081
##
## Response PCLM_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 655 654.92 2.3593 0.1252
## Residuals 453 125747 277.59
##
## Response PHQ9_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 114.2 114.163 3.0333 0.08225 .
## Residuals 453 17049.5 37.637
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response P :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 53.1 53.147 1.4396 0.2308
## Residuals 453 16724.1 36.919
##
## Response Fu :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 316.6 316.58 5.6905 0.01747 *
## Residuals 453 25201.7 55.63
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## 288 observations deleted due to missingness
mnv<-manova(cbind(NSI_Q2,NSI_Q4,SOT,LOC)~I,data=dhi)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.030733 4.7324 4 597 0.0009137 ***
## Residuals 600
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary.aov(mnv)## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1.80 1.79501 2.2509 0.1341
## Residuals 600 478.47 0.79745
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 14.61 14.6070 11.354 0.000801 ***
## Residuals 600 771.88 1.2865
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 249.5 249.467 6.1951 0.01308 *
## Residuals 600 24161.3 40.269
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response LOC :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 6.64 6.6378 3.7001 0.05488 .
## Residuals 600 1076.37 1.7939
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## 141 observations deleted due to missingness
dhi$I<-ifelse(dhi$Total_C>=5,"1","0")
vestib<-dhi[,c(2:34,204)]
scores<-dhi[,c(37,38,66,81,85:90,107,142,161,70,201:204)]
dem<-dhi[,c(39:46,162:169,170,204)]
dm<-dem%>%
filter(!is.na(I))%>%
select(-c(Gender,Service,Special_stat,TypeParticipant,Motion_Sensitivity_Present:Syncope_pre_syncope_Present,Age_lbl))%>%
group_by(I)%>%
summarise_all(means)
kable(dm)| I | LOC | AOC | PTA | Age | TimeInService | symp_tot | med_ct |
|---|---|---|---|---|---|---|---|
| 0 | 1.299501 | 2.328882 | 0.312187 | 38.96081 | 18.25133 | 1.557983 | 0.5940439 |
| 1 | 1.465347 | 2.656566 | 0.290000 | 38.17143 | 17.45714 | 1.707071 | 0.7714286 |
ss<-scores%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(means)
kable(ss)| I | SOT | FGA | ABC_Tot_Score | GAD7_Tot_Score | NSI_Q1 | NSI_Q2 | NSI_Q3 | NSI_Q4 | NSI_Q5 | NSI_Q6 | NSI_Tot_Score | PCLM_Tot_Score | PHQ9_Tot_Score | DHI_Tot_Score | P | Fu | E |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 82.87132 | 27.78748 | 86.59934 | 10.43699 | 1.027027 | 0.9634921 | 1.012719 | 1.914422 | 0.5389507 | 1.273450 | 35.54992 | 45.89223 | 10.95417 | 16.79100 | 5.847390 | 4.848000 | 5.160000 |
| 1 | 82.05618 | 27.71591 | 84.90489 | 11.61957 | 1.211539 | 0.9615385 | 1.097087 | 2.125000 | 0.5631068 | 1.384615 | 38.71154 | 48.39423 | 12.23529 | 19.96154 | 6.365591 | 6.064516 | 6.451613 |
colnames(vestib)<-sub("Vestibular_Oculomotor_","",colnames(vestib))
colnames(vestib)<-sub("Vestibular_Positioning_","",colnames(vestib))
colnames(vestib)<-sub("_Abnormal","",colnames(vestib))
vt<-vestib%>%
filter(!is.na(I))%>%
group_by(I)%>%
summarise_all(funs(sum(.=="C",na.rm=TRUE)))
vt<-melt(vt)
vt$value<-as.numeric(vt$value)
o<-sum(dhi$I=="0")
i<-sum(dhi$I=="1")
vt$Mean<-ifelse(vt$I=="1",round(vt$value/i*100,3),round(vt$value/o*100,3))
vt<-vt%>%filter(!value==0)%>%arrange(-Mean)
kable(vt[,-1])| variable | value | Mean |
|---|---|---|
| Smooth_Pursuit_Vertical | 96 | 91.429 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 64 | 60.952 |
| Smooth_Pursuit_Vertical | 385 | 60.345 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 61 | 58.095 |
| Saccades_Vertical | 60 | 57.143 |
| Smooth_Pursuit_Horizontal | 58 | 55.238 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 58 | 55.238 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 56 | 53.333 |
| Gaze_Right | 37 | 35.238 |
| Gaze_Left | 36 | 34.286 |
| GazeRL | 33 | 31.429 |
| Gaze_Up | 30 | 28.571 |
| Saccades_Horizontal | 29 | 27.619 |
| Spon_Gaze | 25 | 23.810 |
| Gaze_Center | 24 | 22.857 |
| Smooth_Pursuit_Horizontal | 143 | 22.414 |
| Saccades_Vertical | 129 | 20.219 |
| Gaze_Down | 21 | 20.000 |
| Spontaneous_Nystagmus | 14 | 13.333 |
| Vestibular_VNGTest_DixHallpike_Head_Right | 69 | 10.815 |
| Vestibular_VNGTest_DixHallpike_Head_Left | 65 | 10.188 |
| Optokinetic | 10 | 9.524 |
| Vestibular_VNGTest_Roll_Test_Lateral_Left | 55 | 8.621 |
| Saccades_Horizontal | 46 | 7.210 |
| Vestibular_VNGTest_Roll_Test_Lateral_Right | 45 | 7.053 |
| Gaze_Left | 43 | 6.740 |
| Gaze_Right | 42 | 6.583 |
| GazeRL | 42 | 6.583 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 6 | 5.714 |
| supine_Gaze_up | 4 | 3.810 |
| GazeR | 4 | 3.810 |
| GazeL | 3 | 2.857 |
| Gaze_Up | 14 | 2.194 |
| Vestibular_VNGTest_Horizontal_Head_Shake | 14 | 2.194 |
| Optokinetic | 13 | 2.038 |
| Spon_Gaze | 9 | 1.411 |
| Gaze_Down | 8 | 1.254 |
| Gaze_Center | 7 | 1.097 |
| supine_Gaze_Center | 1 | 0.952 |
| Spontaneous_Nystagmus | 4 | 0.627 |
| supine_Gaze_up | 3 | 0.470 |
| Vestibular_VNGTest_Roll_Test_Body_Right | 1 | 0.157 |
| GazeL | 1 | 0.157 |
mnv<-manova(cbind(SOT,FGA, ABC_Tot_Score,DHI_Tot_Score,GAD7_Tot_Score, NSI_Tot_Score,NSI_Q2, NSI_Q3, NSI_Q4,NSI_Q5,NSI_Q6, PCLM_Tot_Score, PHQ9_Tot_Score, P, Fu)~I,data=scores)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.03491 1.0587 15 439 0.3935
## Residuals 453
summary.aov(mnv)## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 61.2 61.218 2.0018 0.1578
## Residuals 453 13853.1 30.581
##
## Response FGA :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.31 0.3062 0.0825 0.7741
## Residuals 453 1681.09 3.7110
##
## Response ABC_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 852 852.12 3.0059 0.08364 .
## Residuals 453 128419 283.48
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response DHI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 562 561.63 1.4102 0.2357
## Residuals 453 180417 398.27
##
## Response GAD7_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 97.9 97.931 2.9099 0.08872 .
## Residuals 453 15245.2 33.654
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 751 751.38 2.8813 0.0903 .
## Residuals 453 118131 260.78
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.00 0.00477 0.0067 0.9348
## Residuals 453 322.14 0.71113
##
## Response NSI_Q3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1.12 1.11958 1.368 0.2428
## Residuals 453 370.74 0.81841
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 8.78 8.7772 7.2223 0.007466 **
## Residuals 453 550.53 1.2153
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response NSI_Q5 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1.201 1.20122 1.7751 0.1834
## Residuals 453 306.548 0.67671
##
## Response NSI_Q6 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.01 0.00971 0.0091 0.9239
## Residuals 453 480.90 1.06160
##
## Response PCLM_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 566 565.51 2.0358 0.1543
## Residuals 453 125837 277.78
##
## Response PHQ9_Tot_Score :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 94.4 94.429 2.506 0.1141
## Residuals 453 17069.3 37.680
##
## Response P :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 25.1 25.112 0.6791 0.4103
## Residuals 453 16752.1 36.980
##
## Response Fu :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 87.2 87.207 1.5534 0.2133
## Residuals 453 25431.1 56.139
##
## 288 observations deleted due to missingness
mnv<-manova(cbind(NSI_Q2,NSI_Q4,SOT,LOC)~I,data=dhi)
summary(mnv)## Df Pillai approx F num Df den Df Pr(>F)
## I 1 0.012892 1.9493 4 597 0.1008
## Residuals 600
summary.aov(mnv)## Response NSI_Q2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 0.01 0.01467 0.0183 0.8924
## Residuals 600 480.25 0.80042
##
## Response NSI_Q4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 5.21 5.2064 3.9983 0.046 *
## Residuals 600 781.28 1.3021
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response SOT :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 69.1 69.098 1.7032 0.1924
## Residuals 600 24341.6 40.569
##
## Response LOC :
## Df Sum Sq Mean Sq F value Pr(>F)
## I 1 1.25 1.2493 0.6929 0.4055
## Residuals 600 1081.76 1.8029
##
## 141 observations deleted due to missingness
Comments/Questions:
Prior Percentage of patients with central dysfunction Particular test thats significant of central signs <Explore individuals signs - those with our cutoff score Control for Medications - subset data with AM/PM <Significance of either
Meeting Comments: Fix complaints/comments Medication and compare - look at counts as well Finalize Mean Comparisons - tukey/scheffe test; examine graphs - main aspect of paper